package com.my.satoken.satokenjwt;

import cn.dev33.satoken.stp.StpUtil;
import cn.dev33.satoken.util.SaResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author: marshal
 * @date: 2024-10-24 09:29
 */
@RestController
@RequestMapping("/login/")
public class LoginController {

    /*
    登录
     */
    @GetMapping("doLogin")
    public SaResult doLogin(String username, String password) {
        if ("admin".equals(username) && "123456".equals(password)) {
            StpUtil.login(10001);
            return SaResult.ok("登录成功");
        }
        return SaResult.ok("登录失败");
    }

    /**
     * 获取登录状态
     *
     * @return 登录状态
     */
    @GetMapping("isLogin")
    public SaResult isLogin() {
        return SaResult.ok("是否登录: " + StpUtil.isLogin());
    }

    /**
     * 获取 token
     *
     * @return token 信息
     */
    @GetMapping("getToken")
    public SaResult getLogin() {
        return SaResult.data(StpUtil.getTokenInfo());
    }

    /**
     *  登出
     *
     * @return 退出登录
     */
    @GetMapping("logout")
    public SaResult logout() {
        StpUtil.logout();
        return SaResult.ok("退出成功");
    }
}
